Completing the CAMS framework with the remaining two pillars — Measurement and Sharing — then introducing Configuration Management as the backbone of reproducible, reliable infrastructure.
If you can't measure it, you can't improve it. Measurement turns opinions into facts and gives teams a shared language for progress.
— Peter Drucker (adapted for DevOps)Not all metrics are equal. Focus on metrics that drive behavior — avoid "vanity metrics" that look good but don't improve outcomes.
Measure outcomes, not outputs. The goal isn't "we deployed 50 times" — it's "our users experience fewer errors and faster features." Metrics should answer: "Are our users better off?"
The DevOps Research and Assessment (DORA) team (now part of Google Cloud) identified four metrics that reliably predict software delivery performance. These are considered the gold standard.
| Metric | Elite Performers | Low Performers |
|---|---|---|
| Deployment Frequency | On-demand (multiple times/day) | Between once/month & once every 6 months |
| Lead Time for Changes | Less than one hour | Between one month & six months |
| Mean Time to Recovery | Less than one hour | Between one week & one month |
| Change Failure Rate | 0 – 15% | 46 – 60% |
Sharing is the loopback in the CAMS cycle. It takes the Culture of collaboration, the Automation you've built, and the Measurement data you've collected — and distributes them so the whole organization learns.
— John Willis, co-creator of the CAMS modelSharing isn't a tool — it's a habit. Here are concrete practices that high-performing DevOps teams use to share knowledge and responsibility.
Sharing directly addresses the "bus factor" — how many people need to get hit by a bus before a project is in trouble? If the answer is "1," your sharing practices have failed. The goal: no single point of knowledge failure.
With all four pillars now covered across Lectures 9 and 10, let's see how they work as an interconnected system.
IaC is the practice of defining and managing infrastructure through machine-readable definition files, rather than manual processes or interactive tools.
IaC brings the same rigor to infrastructure that source control brought to application code: reproducibility, auditability, and collaboration. It's the bridge between the "A" in CAMS (Automation) and Configuration Management.
No single tool fits all scenarios. Here's a comparison of the most widely used CM tools in the DevOps ecosystem.
| Tool | Approach | Language | Key Strength |
|---|---|---|---|
| Ansible | Agentless (SSH) | YAML | Simple, easy to learn, no agent needed on target machines |
| Puppet | Agent-based | Puppet DSL | Mature, strong for large-scale enterprise environments |
| Chef | Agent-based | Ruby DSL | Highly flexible, code-driven "recipes" and "cookbooks" |
| Terraform | API-driven | HCL | Cloud infrastructure provisioning (AWS, Azure, GCP) |
| SaltStack | Agent or SSH | YAML | High-speed execution, event-driven architecture |
Here's a typical CM workflow showing how infrastructure changes flow from a developer's laptop to production.
Today we completed the CAMS framework and introduced Configuration Management as a foundational DevOps practice.